package org.ekingstar.webService;

import java.util.List;

import org.ekingstar.qd.domain.Catalog;
import org.ekingstar.qd.service.CCatalogService;
import org.ekingstar.qd.service.CConditionService;

import com.ekingstar.framework.util.ServiceLocator;

/**
 * 主题分类业务处理webService
 * @author 
 */
public class CCatalogWebService {

	//返回所有主题类别信息
	public List<Catalog> getCategoryList(){
		CCatalogService cCatalogService = (CCatalogService)ServiceLocator.getInstance().getBean("catalogService");
		return cCatalogService.getCategoryList();
	}
	
	/**
	 * @descripte 根据主题分类ID号，获取相应的主题分类信息 
	 * @param strId 主题分类ID号
	 * @return Catalog
	 */
	public Catalog getCatalog(String strId){
		CCatalogService cCatalogService = (CCatalogService)ServiceLocator.getInstance().getBean("catalogService");
		return cCatalogService.getCatalog(strId);
	}
	
	/**
	 * @descripte 保存主题分类信息，保存成功返回1，保存失败返回-1 
	 * @param strName      类别名称
	 * @param strParentId  父类别ID号
	 * @param nOrderNo     排序号
	 * @param strDescript  描述
	 * @return int
	 */
	public int addCategory(String strName,String strParentId,int nOrderNo, String strDescript){
		CCatalogService cCatalogService = (CCatalogService)ServiceLocator.getInstance().getBean("catalogService");
		return cCatalogService.addCategory(strName,strParentId,nOrderNo, strDescript);
	}

	
	/**
	 * @descripte 根据主题分类ID号修改主题分类信息，修改成功返回1，否则返回-1 
	 * @param strId        主题分类ID号
	 * @param strName      类别名称
	 * @param nOrderNo     排序号
	 * @param strDescript  描述
	 * @return int
	 */
	public int updateCategory(String strId, String strName,int nOrderNo, String strDescript){
		CCatalogService cCatalogService = (CCatalogService)ServiceLocator.getInstance().getBean("catalogService");
		return cCatalogService.updateCategory(strId, strName, nOrderNo,  strDescript);
	}
	
	/**
	 * @descripte 根据主题分类Id号，删除相应主题分类信息，同时需要删除该主题分类下的所有子分类及其相应的主题，以及主题相关的配置和授权信息。如果删除成功返回1，否则返回-1 
	 * @param strId        主题分类ID号
	 * @return int
	 */
	public int delCategory(String strId){
		CCatalogService cCatalogService = (CCatalogService)ServiceLocator.getInstance().getBean("catalogService");
		return cCatalogService.delCategory(strId);
	}	
	
	/**
	 * @descripte 校验数据的唯一性 
	 * @param strId 校验类别ID
	 * @param nMode=1 -- 主题分类
	 *     strBelongId  --父节点id号
	 *     strDest      --主题分类名
	 *     
	 * @param nMode=2 -- 主题信息
	 *     strBelongId  --主题分类ID号
	 *     strDest      --主题名     
	 * 
	 * @param nMode=3 -- 查询字段
	 *     strBelongId  --主题ID号
	 *     strDest      --查询字段名称 
	 *     
	 * @param nMode=4 -- 发布字段
	 *     strBelongId  --主题ID号
	 *     strDest      --发布字段名称
	 *     
	 * @param nMode=5 -- 功能
	 *     strBelongId  --父节点id号
	 *     strDest      --功能号
	 * 
	 * @param nMode=6 -- 页面
	 *     strBelongId  --父节点id号
	 *     strDest      --页面编号
	 *     
	 * @return int  -1 已存在  1 不存在
	 */
	public int UniqueCheck(String strDest, String strBelongId, int nMode){
		CCatalogService cCatalogService = (CCatalogService)ServiceLocator.getInstance().getBean("catalogService");
		return cCatalogService.UniqueCheck(strDest,strBelongId,nMode);
	}
}
